
package editeur;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Vector;

import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class PanneauImageGrille extends JPanel {

	private Fenetre conteneur;
	private int px; //abscisse du panneau
	private int py; //ordonne du panneau
	private int tailleIm; //taille image et panneau
	private int numIm; //num de limage dans l'album
	private int nbclic;
	private boolean selectionnee;
	
	//Getters Setters
	public Fenetre getConteneur() {
		return conteneur;
	}
	
	
	public boolean isSelectionnee() {
		return selectionnee;
	}


	public void setSelectionnee(boolean selectionnee) {
		this.selectionnee = selectionnee;
	}


	//Constructeur
	/**
	 * Constructeur paramètré du panneau contenant les images (miniature)
	 @param f Fenetre qui contient ce panneau
	 */
	public PanneauImageGrille(Fenetre f) 
	{
		this.setBackground(Color.BLUE);
		this.setVisible(true);
		conteneur=f;
		px=f.getPx();
		py=f.getPy();
		tailleIm=f.gettIm();
		numIm=f.getNumIm();
		nbclic=0;
		this.setLocation(px, py);
		this.setSize(tailleIm,tailleIm);
		this.setFocusable(true);
		this.addMouseListener(new MouseListener() {
			
			@Override
			public void mouseReleased(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void mousePressed(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void mouseExited(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void mouseEntered(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void mouseClicked(MouseEvent e) {
				nbclic++;
				
				if(nbclic==1)
				{
					setSelectionnee(true);
				}else
				{
					nbclic=0;
				}
				
			}
		});
	}

	/**
	 * Surcharge de la fonction paintComponent de la librairie graphique
	 @param g graphics
	 */
	@Override
	protected void paintComponent (Graphics g){
		Vector<Photo> tabP=getConteneur().getAlbCourant().getAlbum();
		//System.out.println("paintcomponent ");
		tabP.elementAt(numIm).dessineP((Graphics2D) g,px,py,tailleIm);
		conteneur.repaint();
	}
}

